package com.sanqi.work.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sanqi.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sanqi.common.core.domain.BaseEntity;

/**
 * 员工每日工作安排对象 work_user_date
 * 
 * @author duany
 * @date 2025-09-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("work_user_date")
public class WorkUserDate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /** 用户ID */
    @Excel(name = "用户ID")
    @TableField(value="user_id")
    private String userId;

    /** 用户工作日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "用户工作日期", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(value="work_date")
    private Date workDate;

    /** 用户备注 */
    @Excel(name = "用户备注")
    @TableField(value="work_remark")
    private String workRemark;

    /** 用户工时(小时) */
    @Excel(name = "用户工时(小时)")
    @TableField(value="work_time")
    private BigDecimal workTime;

    /** 用户编号 */
    @Excel(name = "用户编号")
    @TableField(value="work_no")
    private String workNo;

    /** 业务列 */
    @Excel(name = "业务列")
    @TableField(value="user_business")
    private String userBusiness;

    /** 用户姓名 */
    @Excel(name = "用户姓名")
    @TableField(value="user_name")
    private String userName;

    /** 部门编码 */
    @Excel(name = "部门编码")
    @TableField(value="sys_org_code")
    private String sysOrgCode;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }

    public void setWorkDate(Date workDate) 
    {
        this.workDate = workDate;
    }

    public Date getWorkDate() 
    {
        return workDate;
    }

    public void setWorkRemark(String workRemark) 
    {
        this.workRemark = workRemark;
    }

    public String getWorkRemark() 
    {
        return workRemark;
    }

    public void setWorkTime(BigDecimal workTime) 
    {
        this.workTime = workTime;
    }

    public BigDecimal getWorkTime() 
    {
        return workTime;
    }

    public void setWorkNo(String workNo) 
    {
        this.workNo = workNo;
    }

    public String getWorkNo() 
    {
        return workNo;
    }

    public void setUserBusiness(String userBusiness) 
    {
        this.userBusiness = userBusiness;
    }

    public String getUserBusiness() 
    {
        return userBusiness;
    }

    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }

    public void setSysOrgCode(String sysOrgCode) 
    {
        this.sysOrgCode = sysOrgCode;
    }

    public String getSysOrgCode() 
    {
        return sysOrgCode;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("workDate", getWorkDate())
            .append("workRemark", getWorkRemark())
            .append("workTime", getWorkTime())
            .append("workNo", getWorkNo())
            .append("userBusiness", getUserBusiness())
            .append("userName", getUserName())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("sysOrgCode", getSysOrgCode())
            .toString();
    }
}
